/**
 * CommonTypes.h
 *
 *  Created on: 27/12/2009
 *      Author: San Martín, Matías I.
 */

#ifndef COMMONTYPES_H_
#define COMMONTYPES_H_

#include <limits.h>
#include "../../Middleware/Common/CommonTypes.h"

using middleware::common::T_ID_UNIVERSO;

//debe poder ser traducido de y hacia un T_ID_UNIVERSO o T_ID_JUEGO
typedef middleware::common::T_ID_CONTENEDOR T_ID_CONTENEDOR;
//debe poder ser traducido de y hacia un T_ID_PLANETA o T_ID_JUGADOR
typedef middleware::common::T_ID_CONTENIDO T_ID_CONTENIDO;

typedef int T_ID_FLOTA;

/** tipo de la semilla para generación de las posiciones de las naves */
typedef int T_SEMILLA; //TODO DEFINIR

/** tipo usado para identificar un momento en el tiempo o una duración de tiempo
 * se especifica en milisegundos*/
typedef unsigned T_TIEMPO; //TODO DEFINIR
const T_TIEMPO TIEMPO_MAX = UINT_MAX;

typedef double T_DISTANCIA;

// si se cambia este tipo tener en cuenta que se debe actualizar el parámetro
// "tamanio" del método RPC suscribir_planeta en DirectorioRPC.x
typedef int T_TAMANIO_PLANETA;

#define MAX_FLOTAS 20

//indica la cantidad maxima de naves que se admiten por flota
/* TODO HACER BIEN. la cuenta real se deberia hacer verificando cuanto ocupa el
 * mayor de los mensajes que guarda el estado de todas las naves y verificando
 * lo que ocupa cada nave (en la version actual cada nave ocupa 8 bytes en
 * guardarse). Finalmente se relacionaria con MAX_DATOS para ver el limite de
 * la cantidad. */
/* como aproximacion y para evitar rastreos raros si se cambia algun detalle
 * hasta estabilizar el sistema, defino 120 que dejan 44 Bytes (aprox)
 * para datos del paquete (ajenos a la flota) - Esto es con el MAX_DATOS
 * definido ahora que es de 1024*/

#define MAX_NAVES_FLOTAS (120)


#endif /* COMMONTYPES_H_ */
